﻿using Lhxm.Sgs.IDal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lhxm.Sgs.IBll
{
    public interface IBaseService<T>where T:class,new()
    {
        IDBSession CurrentDBSession
        {
            get;
        }
        IDal.IBaseDal<T> CurrentDal { get; set; }

        IQueryable<T> LoadEntities(System.Linq.Expressions.Expression<Func<T, bool>> whereLambda);

        IQueryable<T> LoadPageEntities<s>(int pageIndex, int pageSize, out int totalCount, System.Linq.Expressions.Expression<Func<T, bool>> whereLambda, System.Linq.Expressions.Expression<Func<T, s>> orderByLambda, bool isAsc);
        bool DeleteEntiy(T entity);
        bool EditEntity(T entity);
        T AddEntity(T entity);
    }
}
